package com.zhku.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhku.base.model.PageParams;
import com.zhku.base.model.PageResult;
import com.zhku.user.model.dto.AddressDto;
import com.zhku.user.model.dto.QueryAddressParamsDto;
import com.zhku.user.model.po.TtUserAddress;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author itcast
 * @since 2023-12-21
 */
public interface TtUserAddressService extends IService<TtUserAddress> {

    /**
     * 用户创建新收货地址
     * @param addressDto 地址相关参数
     * @return 返回用户地址
     */
    public TtUserAddress createAddress(AddressDto addressDto);

    /**
     * 根据传入的地址id删除收货地址
     * @param id
     */
    public void deleteAddress(String id);

    /**
     * 用户修改收货地址
     * @param ttUserAddress
     * @return
     */
    public TtUserAddress updateAddress(TtUserAddress ttUserAddress);

    /**
     * 根据id查询收货地址
     * @param id
     * @return
     */
    public TtUserAddress getAddress(String id);

    /**
     * 用户地址分页查询，单独查某个用户的收货地址
     * @param pageParams
     * @param queryAddressParamsDto
     * @return
     */
    public PageResult<TtUserAddress> queryAddressList(PageParams pageParams, QueryAddressParamsDto queryAddressParamsDto);
}
